package com.quanyan.stadium.api.req;

import com.quanyan.statium.api.req.PayTypeModel;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * Created by lei.w on 2016/9/13.
 */
public class ReqPersonalGameEvent implements Serializable {

    private static final long serialVersionUID = -6348471146890960342L;
    @NotNull
    private String name;

    private Integer parentId = 0;

    @NotNull
    private Integer uid;

    @NotNull
    private Integer categoryId;

    private Integer districtId;

    private Integer cityId;

    private long startTime;

    private long endTime;

    private long signStartTime;

    private long signEndTime;

    /**
     * 价格
     */
    private BigDecimal price;

    @NotNull
    private Integer isVisible;

    @NotNull
    private Integer gameSystemType;

    @NotNull
    private Integer teamLimitNum;
    @NotNull
    private String address;

    private PayTypeModel payType;

    private String hostMobile;

    private String bodyDesc;

    private Byte isArrange;

    /**
     * 比赛等级
     */
    private Byte gameGradeLevel;

    /**
     * 玩法类型
     *
     * */
    private Byte gameCategoryType;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public Integer getDistrictId() {
        return districtId;
    }

    public void setDistrictId(Integer districtId) {
        this.districtId = districtId;
    }

    public Integer getCityId() {
        return cityId;
    }

    public void setCityId(Integer cityId) {
        this.cityId = cityId;
    }

    public long getStartTime() {
        return startTime;
    }

    public void setStartTime(long startTime) {
        this.startTime = startTime;
    }

    public long getEndTime() {
        return endTime;
    }

    public void setEndTime(long endTime) {
        this.endTime = endTime;
    }

    public long getSignStartTime() {
        return signStartTime;
    }

    public void setSignStartTime(long signStartTime) {
        this.signStartTime = signStartTime;
    }

    public long getSignEndTime() {
        return signEndTime;
    }

    public void setSignEndTime(long signEndTime) {
        this.signEndTime = signEndTime;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getIsVisible() {
        return isVisible;
    }

    public void setIsVisible(Integer isVisible) {
        this.isVisible = isVisible;
    }

    public Integer getGameSystemType() {
        return gameSystemType;
    }

    public void setGameSystemType(Integer gameSystemType) {
        this.gameSystemType = gameSystemType;
    }

    public Integer getTeamLimitNum() {
        return teamLimitNum;
    }

    public void setTeamLimitNum(Integer teamLimitNum) {
        this.teamLimitNum = teamLimitNum;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public PayTypeModel getPayType() {
        return payType;
    }

    public void setPayType(PayTypeModel payType) {
        this.payType = payType;
    }

    public String getHostMobile() {
        return hostMobile;
    }

    public void setHostMobile(String hostMobile) {
        this.hostMobile = hostMobile;
    }

    public String getBodyDesc() {
        return bodyDesc;
    }

    public void setBodyDesc(String bodyDesc) {
        this.bodyDesc = bodyDesc;
    }

    public Byte getIsArrange() {
        return isArrange;
    }

    public void setIsArrange(Byte isArrange) {
        this.isArrange = isArrange;
    }

    public Byte getGameGradeLevel() {
        return gameGradeLevel;
    }

    public void setGameGradeLevel(Byte gameGradeLevel) {
        this.gameGradeLevel = gameGradeLevel;
    }

    public Byte getGameCategoryType() {
        return gameCategoryType;
    }

    public void setGameCategoryType(Byte gameCategoryType) {
        this.gameCategoryType = gameCategoryType;
    }

    @Override
    public String toString() {

        StringBuilder sb = new StringBuilder();
        sb.append("ReqPersonalGameEvent{");
        sb.append("parentId=").append(parentId);
        sb.append(", name=").append(name);
        sb.append(", uid=").append(uid);
        sb.append(", cityId=").append(cityId);
        sb.append(", districtId=").append(districtId);
        sb.append(", categoryId=" ).append(categoryId);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", signStartTime=").append(signStartTime);
        sb.append(", signEndTime=").append(signEndTime);
        sb.append(", price=").append(price);
        sb.append(", isVisible=").append(isVisible);
        sb.append(", gameSystemType=").append(gameSystemType);
        sb.append(", teamLimitNum=").append(teamLimitNum);
        sb.append(", address=").append(address);
        sb.append( ", payType=").append(payType);
        sb.append(", hostMobile=").append(hostMobile);
        sb.append(", bodyDesc='").append(bodyDesc);
        sb.append(", isArrange=").append(isArrange);
        sb.append(", gameGradeLevel=").append(gameGradeLevel);
        sb.append(", gameCategoryType=").append(gameCategoryType);
        sb.append("}");


        return sb.toString();
    }
}
